'use strict';

const db = uniCloud.database()

//导入加密模块
const crypto = require("crypto");

/* 
	错误码：
	10001 : 账号或密码错误
	10002 : 账号已存在
	10003 : 请填写完整信息
 */


exports.main = async (event, context) => {
	//event为客户端上传的参数
	console.log('event : ', event)
	
	
	/* 
		账号登录
	 */
	if(event.method == 'login'){
		
		
		let res = await db.collection('account').where({
			username: event.username,
			password: crypto.createHash("md5").update(event.password).digest("hex")
		}).get();
		
		
		if(res.data.length > 0){
			return {
				errcode : 0,
				data : {
					uid : res.data[0]._id
				},
				msg : '登陆成功'
			}
		}else{
			return {
				errcode : 10001,
				msg : '账号或密码错误'
			}
		}
		
		
	}
	
	/*
		账号注册
	 */
	if(event.method == 'register'){
		
		if(event.username == '' || event.password == '' || event.nickname == ''){
			return {
				errcode : 10003,
				msg : '请填写完整信息'
			}
		}
		
		let usernameRes = await db.collection('account').where({
			username: event.username
		}).get();
		
		if(usernameRes.data.length > 0){
			return {
				errcode : 10002,
				msg : '该账号已存在'
			}
		}
		

		
		await db.collection('account').add({
			username : event.username,
			password : crypto.createHash("md5").update(event.password).digest("hex"),
			nickname : event.nickname,
			create_time : Date.parse(new Date())
		})
		
		return {
			errcode : 0,
			msg : '注册成功'
		}
	}
	

};
